/**
 * This is a generated class and is not intended for modification.  To customize behavior
 * of this service wrapper you may modify the generated sub-class of this class - ProductMaster.as.
 */
package com.service
{
import com.adobe.fiber.core.model_internal;
import com.adobe.fiber.services.wrapper.RemoteObjectServiceWrapper;
import com.adobe.serializers.utility.TypeUtility;
import com.model.valueObjects.VOProductImage;
import com.model.valueObjects.VOProductList;
import com.model.valueObjects.VOProductListWithPrice;
import com.model.valueObjects.VOProductMaster;
import com.model.valueObjects.VOProductSearch;
import com.model.valueObjects.VoPartNo;
import com.model.valueObjects.VoProName;
import com.model.valueObjects.VoStampNo;
import mx.rpc.AbstractOperation;
import mx.rpc.AsyncToken;
import mx.rpc.remoting.Operation;
import mx.rpc.remoting.RemoteObject;

import mx.collections.ItemResponder;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;

[ExcludeClass]
internal class _Super_ProductMaster extends com.adobe.fiber.services.wrapper.RemoteObjectServiceWrapper
{

    // Constructor
    public function _Super_ProductMaster()
    {
        // initialize service control
        _serviceControl = new mx.rpc.remoting.RemoteObject();

        // initialize RemoteClass alias for all entities returned by functions of this service
        com.model.valueObjects.VoProName._initRemoteClassAlias();
        com.model.valueObjects.VoPartNo._initRemoteClassAlias();
        com.model.valueObjects.VoStampNo._initRemoteClassAlias();
        com.model.valueObjects.VOProductList._initRemoteClassAlias();
        com.model.valueObjects.VOProductSearch._initRemoteClassAlias();
        com.model.valueObjects.VOProductListWithPrice._initRemoteClassAlias();
        com.model.valueObjects.VOProductMaster._initRemoteClassAlias();

        var operations:Object = new Object();
        var operation:mx.rpc.remoting.Operation;

        operation = new mx.rpc.remoting.Operation(null, "getDitinctProName");
         operation.resultElementType = com.model.valueObjects.VoProName;
        operations["getDitinctProName"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getDitinctPartNo");
         operation.resultElementType = com.model.valueObjects.VoPartNo;
        operations["getDitinctPartNo"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getDitinctStampNo");
         operation.resultElementType = com.model.valueObjects.VoStampNo;
        operations["getDitinctStampNo"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "addNewProduct");
         operation.resultType = Object;
        operations["addNewProduct"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "deleteProduct");
         operation.resultType = Object;
        operations["deleteProduct"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "editProduct");
         operation.resultType = Object;
        operations["editProduct"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "addProductImage");
         operation.resultType = Object;
        operations["addProductImage"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "updateProductImage");
         operation.resultType = Object;
        operations["updateProductImage"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "deleteProductImage");
         operation.resultType = Object;
        operations["deleteProductImage"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getProductImage");
         operation.resultType = com.model.valueObjects.VOProductImage;
        operations["getProductImage"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getProductList");
         operation.resultElementType = com.model.valueObjects.VOProductList;
        operations["getProductList"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getProductListOnSearch");
         operation.resultElementType = com.model.valueObjects.VOProductSearch;
        operations["getProductListOnSearch"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getProductListWithPrice");
         operation.resultElementType = com.model.valueObjects.VOProductListWithPrice;
        operations["getProductListWithPrice"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getProductListByFK");
         operation.resultType = Object;
        operations["getProductListByFK"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "getAllProduct");
         operation.resultElementType = com.model.valueObjects.VOProductMaster;
        operations["getAllProduct"] = operation;

        _serviceControl.operations = operations;
        _serviceControl.convertResultHandler = com.adobe.serializers.utility.TypeUtility.convertResultHandler;
        _serviceControl.source = "ProductMaster";
        _serviceControl.endpoint = "gateway.php";
        destination = "ProductMaster";



         model_internal::initialize();
    }

    /**
      * This method is a generated wrapper used to call the 'getDitinctProName' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getDitinctProName() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getDitinctProName");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getDitinctPartNo' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getDitinctPartNo() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getDitinctPartNo");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getDitinctStampNo' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getDitinctStampNo() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getDitinctStampNo");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'addNewProduct' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function addNewProduct(VObject:Object, image:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("addNewProduct");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(VObject,image) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'deleteProduct' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function deleteProduct(serialnumber:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("deleteProduct");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(serialnumber) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'editProduct' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function editProduct(VObject:Object, image:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("editProduct");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(VObject,image) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'addProductImage' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function addProductImage(image:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("addProductImage");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(image) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'updateProductImage' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function updateProductImage(image:Object, pro_image_fk:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("updateProductImage");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(image,pro_image_fk) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'deleteProductImage' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function deleteProductImage(serialnumber:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("deleteProductImage");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(serialnumber) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getProductImage' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getProductImage(serialnumber:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getProductImage");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(serialnumber) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getProductList' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getProductList() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getProductList");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getProductListOnSearch' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getProductListOnSearch() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getProductListOnSearch");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getProductListWithPrice' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getProductListWithPrice() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getProductListWithPrice");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getProductListByFK' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getProductListByFK(serialnumber:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getProductListByFK");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(serialnumber) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'getAllProduct' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function getAllProduct() : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getAllProduct");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;

        return _internal_token;
    }
     
}

}
